//
//	GetResumeByUserIdWorkExperienceList.m
//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport



#import "GetResumeByUserIdWorkExperienceList.h"

NSString *const kGetResumeByUserIdWorkExperienceListAppUserId = @"appUserId";
NSString *const kGetResumeByUserIdWorkExperienceListCompany = @"company";
NSString *const kGetResumeByUserIdWorkExperienceListDepartureTime = @"departureTime";
NSString *const kGetResumeByUserIdWorkExperienceListIdField = @"id";
NSString *const kGetResumeByUserIdWorkExperienceListInductionTime = @"inductionTime";
NSString *const kGetResumeByUserIdWorkExperienceListJobContent = @"jobContent";
NSString *const kGetResumeByUserIdWorkExperienceListPosition = @"position";

@interface GetResumeByUserIdWorkExperienceList ()
@end
@implementation GetResumeByUserIdWorkExperienceList




/**
 * Instantiate the instance using the passed dictionary values to set the properties values
 */

-(instancetype)initWithDictionary:(NSDictionary *)dictionary
{
	self = [super init];
	if(![dictionary[kGetResumeByUserIdWorkExperienceListAppUserId] isKindOfClass:[NSNull class]]){
		self.appUserId = [dictionary[kGetResumeByUserIdWorkExperienceListAppUserId] integerValue];
	}

	if(![dictionary[kGetResumeByUserIdWorkExperienceListCompany] isKindOfClass:[NSNull class]]){
		self.company = dictionary[kGetResumeByUserIdWorkExperienceListCompany];
	}	
	if(![dictionary[kGetResumeByUserIdWorkExperienceListDepartureTime] isKindOfClass:[NSNull class]]){
		self.departureTime = dictionary[kGetResumeByUserIdWorkExperienceListDepartureTime];
	}	
	if(![dictionary[kGetResumeByUserIdWorkExperienceListIdField] isKindOfClass:[NSNull class]]){
		self.idField = [dictionary[kGetResumeByUserIdWorkExperienceListIdField] integerValue];
	}

	if(![dictionary[kGetResumeByUserIdWorkExperienceListInductionTime] isKindOfClass:[NSNull class]]){
		self.inductionTime = dictionary[kGetResumeByUserIdWorkExperienceListInductionTime];
	}	
	if(![dictionary[kGetResumeByUserIdWorkExperienceListJobContent] isKindOfClass:[NSNull class]]){
		self.jobContent = dictionary[kGetResumeByUserIdWorkExperienceListJobContent];
	}	
	if(![dictionary[kGetResumeByUserIdWorkExperienceListPosition] isKindOfClass:[NSNull class]]){
		self.position = dictionary[kGetResumeByUserIdWorkExperienceListPosition];
	}	
	return self;
}


/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
-(NSDictionary *)toDictionary
{
	NSMutableDictionary * dictionary = [NSMutableDictionary dictionary];
	dictionary[kGetResumeByUserIdWorkExperienceListAppUserId] = @(self.appUserId);
	if(self.company != nil){
		dictionary[kGetResumeByUserIdWorkExperienceListCompany] = self.company;
	}
	if(self.departureTime != nil){
		dictionary[kGetResumeByUserIdWorkExperienceListDepartureTime] = self.departureTime;
	}
	dictionary[kGetResumeByUserIdWorkExperienceListIdField] = @(self.idField);
	if(self.inductionTime != nil){
		dictionary[kGetResumeByUserIdWorkExperienceListInductionTime] = self.inductionTime;
	}
	if(self.jobContent != nil){
		dictionary[kGetResumeByUserIdWorkExperienceListJobContent] = self.jobContent;
	}
	if(self.position != nil){
		dictionary[kGetResumeByUserIdWorkExperienceListPosition] = self.position;
	}
	return dictionary;

}

/**
 * Implementation of NSCoding encoding method
 */
/**
 * Returns all the available property values in the form of NSDictionary object where the key is the approperiate json key and the value is the value of the corresponding property
 */
- (void)encodeWithCoder:(NSCoder *)aCoder
{
	[aCoder encodeObject:@(self.appUserId) forKey:kGetResumeByUserIdWorkExperienceListAppUserId];	if(self.company != nil){
		[aCoder encodeObject:self.company forKey:kGetResumeByUserIdWorkExperienceListCompany];
	}
	if(self.departureTime != nil){
		[aCoder encodeObject:self.departureTime forKey:kGetResumeByUserIdWorkExperienceListDepartureTime];
	}
	[aCoder encodeObject:@(self.idField) forKey:kGetResumeByUserIdWorkExperienceListIdField];	if(self.inductionTime != nil){
		[aCoder encodeObject:self.inductionTime forKey:kGetResumeByUserIdWorkExperienceListInductionTime];
	}
	if(self.jobContent != nil){
		[aCoder encodeObject:self.jobContent forKey:kGetResumeByUserIdWorkExperienceListJobContent];
	}
	if(self.position != nil){
		[aCoder encodeObject:self.position forKey:kGetResumeByUserIdWorkExperienceListPosition];
	}

}

/**
 * Implementation of NSCoding initWithCoder: method
 */
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
	self = [super init];
	self.appUserId = [[aDecoder decodeObjectForKey:kGetResumeByUserIdWorkExperienceListAppUserId] integerValue];
	self.company = [aDecoder decodeObjectForKey:kGetResumeByUserIdWorkExperienceListCompany];
	self.departureTime = [aDecoder decodeObjectForKey:kGetResumeByUserIdWorkExperienceListDepartureTime];
	self.idField = [[aDecoder decodeObjectForKey:kGetResumeByUserIdWorkExperienceListIdField] integerValue];
	self.inductionTime = [aDecoder decodeObjectForKey:kGetResumeByUserIdWorkExperienceListInductionTime];
	self.jobContent = [aDecoder decodeObjectForKey:kGetResumeByUserIdWorkExperienceListJobContent];
	self.position = [aDecoder decodeObjectForKey:kGetResumeByUserIdWorkExperienceListPosition];
	return self;

}

/**
 * Implementation of NSCopying copyWithZone: method
 */
- (instancetype)copyWithZone:(NSZone *)zone
{
	GetResumeByUserIdWorkExperienceList *copy = [GetResumeByUserIdWorkExperienceList new];

	copy.appUserId = self.appUserId;
	copy.company = [self.company copyWithZone:zone];
	copy.departureTime = [self.departureTime copyWithZone:zone];
	copy.idField = self.idField;
	copy.inductionTime = [self.inductionTime copyWithZone:zone];
	copy.jobContent = [self.jobContent copyWithZone:zone];
	copy.position = [self.position copyWithZone:zone];

	return copy;
}
@end